body {
    background-color: #223;
    color: #aaa;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
}

details {
    position: relative;
    width: auto;
    height: auto;
    overflow: hidden;
    max-height: 2.5em !important;
    transition: 1s;
}

details[open] {
    max-height: 600px !important;
}

details>summary {
    position: relative;
    margin-top: 0.25em;
    color: #99e;
    padding: 0.1em 0.5em 0.2em;
    background-color: #444;
}

details>summary::before {
    content: '数';
    color: #eee;
    margin-right: 0.5em;
}

details[open]>summary {
    background-color: #66e;
}

details[open]>summary::before {
    background-color: #ccc;
    content: 'sgf';
}

.folder {
    border-left: 2px dotted #ccc;
    border-bottom: 2px dotted #ccc;
    margin: 0 0 10px 10px;
    padding: 10px 0 10px 20px;
}

img {
    width: 100px;
    height: 50px;
}